package com.platform.core.entity;

import lombok.Getter;
import lombok.Setter;
import org.hibernate.annotations.GenericGenerator;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.Table;
import java.io.Serializable;
import java.time.LocalDate;
import java.time.LocalDateTime;

/**
 * Description: 消息管理实体类
 *
 * @author Coder
 */
@Setter
@Getter
@Entity
@Table(name = "ncloud_msg_manage")
public class SysMsgManageEntity implements Serializable {

    /**
    * 主键标识
    */
    @Id
    @GenericGenerator(name = "system-uuid", strategy = "uuid")
    @GeneratedValue(generator = "system-uuid")
    private String id;

    /**
    * 消息主题
    */
    @Column(name = "msg_title" )
    private String msgTitle;

    /**
    * 消息内容
    */
    @Column(name = "msg_content" )
    private String msgContent;

    /**
    * 消息类型（预警、规则编排）
    */
    @Column(name = "msg_type" )
    private String msgType;

    /**
    * 收件类型（角色、部门）
    */
    @Column(name = "receive_type" )
    private String receiveType;

    /**
    * 附件id
    */
    @Column(name = "file_id" )
    private String fileId;

    /**
    * 发件人
    */
    @Column(name = "create_by" )
    private String createBy;

    /**
    * 发件时间
    */
    @Column(name = "create_date" )
    private LocalDateTime createDate;

    /**
    * 修改人
    */
    @Column(name = "update_by" )
    private String updateBy;

    /**
    * 修改时间
    */
    @Column(name = "update_date" )
    private LocalDateTime updateDate;

    /**
    * 是否删除
    */
    @Column(name = "flag" )
    private String flag;

    /**
    * 通知类型（站内信、邮件、短信）
    */
    @Column(name = "notify_type" )
    private String notifyType;

    /**
    * 过期状态
    */
    @Column(name = "expire_status" )
    private String expireStatus;

    /**
     * 过期时间
     */
    @Column(name = "expire_time" )
    private LocalDate expireTime;

    /**
     * 收件值
     */
    @Column(name = "receive_value" )
    private String receiveValue;
}
